//
//  ESTFollowUpRecordtHeaderView.h
//  ESTSCRMAPP
//
//  Created by 李贤立 on 2018/10/24.
//  Copyright © 2018年 Capfer. All rights reserved.
//

#import <UIKit/UIKit.h>

/**跟进内容的HeaderView类型*/
typedef NS_ENUM(NSInteger, ESTFollowUpTableViewHeaderViewType) {
    /**文本输入*/
    FollowUpTableViewHeaderViewType_TextField       = 0,
    /**两个及以上选择项（性别）*/
    FollowUpTableViewHeaderViewType_Options         = 1,
    /**整个是选择项有回调*/
    FollowUpTableViewHeaderViewType_SelectedBlock   = 2,
    /**开关类型*/
    FollowUpTableViewHeaderViewType_Switch          = 3,
    /**长文本输入*/
    FollowUpTableViewHeaderViewType_TextView        = 4
};

@interface ESTFollowUpRecordHeaderViewModel : TYZModel
/**
 *  类型
 */
@property(nonatomic, assign) ESTFollowUpTableViewHeaderViewType headerViewType;
/**
 *  左边标题
 */
@property(nonatomic, copy) NSString *leftTitle;
/**
 *  右边输入框的占位文字（包括是选择类型的默认文字）
 */
@property(nonatomic, copy) NSString *placeholder;
/**
 *  右边输入框的文字（包括跟进时间）
 */
@property(nonatomic, copy) NSString *rightText;
/**
 *  是否不可点
 */
@property(nonatomic, assign) BOOL isNotEnable;
/**
 *  最长输入多长的文字
 */
@property(nonatomic, assign) NSInteger maxWords;
/**
 *  右边是多个选项时的选项数组
 */
@property(nonatomic, strong) NSArray<NSString *> *optionArray;
/**
 *  默认是选择了第几个
 */
@property(nonatomic, assign) NSInteger selectedNumber;
/**
 *  右边是开关类型的开关状态
 */
@property(nonatomic, assign) BOOL switch_state;
/**
 *  TextField的Tag
 */
@property(nonatomic, assign) NSInteger textFieldTag;
/**
 *  是否隐藏底线
 */
@property(nonatomic, assign) BOOL hiddenLine;
/**
 *  键盘返回键样式
 */
@property(nonatomic, assign) UIReturnKeyType returnKeyType;
/**
 *  键盘样式
 */
@property(nonatomic, assign) UIKeyboardType keyboardType;
@end

@interface ESTFollowUpRecordtHeaderView : UITableViewHeaderFooterView
/**
 *  数据模型
 */
@property(nonatomic, strong) ESTFollowUpRecordHeaderViewModel *model;
/**
 快速创建heaerView

 @param tableView tableView
 @return headerView
 */
+ (instancetype)creatFollowUpRecordtHeaderView:(UITableView *)tableView;
/**
 *  文字输入完成的回调
 */
@property(nonatomic) void(^didComplementTextFieldBlock)(NSString *text);
/**
 *  选择选项的回调
 */
@property(nonatomic) void(^didSelectedOptionsBlock)(NSInteger number, NSString *title);
/**
 *  选择类型的时候的点击回调
 */
@property(nonatomic) void(^didClickCoverBlock)(void);
/**
 *  点击开关的回调
 */
@property(nonatomic) void(^didClickSwitchBlock)(BOOL on);
@end
